package cn.iocoder.yudao.module.design.controller.admin.problem.vo;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FileRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;
import java.util.Set;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Tag(name = "管理后台 - 项目问题分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ProblemPageReqVO extends PageParam {

    @Schema(description = "房屋id")
    private Long houseId;

    @Schema(description = "问题ids")
    private Set<Long> ids;

    @Schema(description = "提出者id")
    private Long userId;

    @Schema(description = "解决者id")
    private Long dealerId;

    @Schema(description = "状态表")
    private String status;

    @Schema(description = "创建日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] createTime;

    @Schema(description = "问题描述")
    private String remark;

    @Schema(description = "流程id")
    private Long flowId;

    @Schema(description = "节点id")
    private Long nodeId;

    @Schema(description = "问题标题")
    private String title;

    @Schema(description = "问题等级")
    private Integer problemLevel;

    @Schema(description = "期望结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] exFinishTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] finishTime;

    @Schema(description = "图片列表")
    private  List<FileRespVO> fileList;

}
